home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / aclocal / libaal.m4 < prev    next >
Text File  |  2006-01-09  |  3KB  |  96 lines

  1. # This file is a part of libaal package
  2. # Copyright (C) 2001, 2002, 2003 by Hans Reiser, licensing governed by
  3. # libaal/COPYING.
  4.  
  5. dnl Usage:
  6. dnl AC_CHECK_LIBAAL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
  7. dnl
  8. dnl Example:
  9. dnl AC_CHECK_LIBAAL(0.3.0, , [AC_MSG_ERROR([libaal >= 0.3.0 not installed - please install first])])
  10. dnl
  11. dnl Adds the required libraries to $AAL_LIBS and does an
  12. dnl AC_SUBST(AAL_LIBS)
  13.  
  14. AC_DEFUN([AC_CHECK_LIBAAL],
  15. [
  16.  
  17. dnl save LIBS
  18. saved_LIBS="$LIBS"
  19.  
  20. dnl Check for headers and library
  21. AC_CHECK_HEADER(aal/libaal.h, ,
  22.     [AC_MSG_ERROR([<aal/libaal.h> not found; install libaal])] 
  23. $3)
  24.  
  25. AC_CHECK_LIB(aal, aal_device_open, ,
  26.     [AC_MSG_ERROR([libaal not found; install libaal available at \
  27. http://www.namesys.com/snapshots/])]
  28. $3)
  29.  
  30. AC_MSG_CHECKING(for libaal version >= $1)
  31.  
  32. AC_TRY_LINK_FUNC(libaal_version,,
  33.     AC_MSG_RESULT(failed)
  34.     AC_MSG_ERROR([libaal can't execute test]))
  35.  
  36. dnl Get major, minor, and micro version from arg MINIMUM-VERSION
  37. libaal_config_major_version=`echo $1 | \
  38.     sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
  39. libaal_config_minor_version=`echo $1 | \
  40.     sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
  41. libaal_config_micro_version=`echo $1 | \
  42.     sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
  43.  
  44. dnl Compare MINIMUM-VERSION with libaal version
  45. AC_TRY_RUN([
  46. #include <stdio.h>
  47. #include <stdlib.h>
  48. #include <aal/libaal.h>
  49.  
  50. int main() {
  51.     const char *version;    
  52.     int major, minor, micro;
  53.     
  54.     if (!(version = libaal_version()))
  55.     exit(1);
  56.         
  57.     if (sscanf(version, "%d.%d.%d", &major, &minor, µ) != 3) {
  58.     printf("%s, bad version string\n", version);
  59.     exit(1);
  60.     }
  61.     
  62.     if ((major >= $libaal_config_major_version) &&
  63.     ((major == $libaal_config_major_version) && 
  64.     (minor >= $libaal_config_minor_version)) &&
  65.     ((major == $libaal_config_major_version) && 
  66.     (minor == $libaal_config_minor_version) && 
  67.     (micro >= $libaal_config_micro_version))) 
  68.     {
  69.     return 0;
  70.     } else {
  71.     printf("\nAn old version of libaal (%s) was found.\n",
  72.         version);
  73.     printf("You need a version of libaal newer than or "
  74.             "equal to %d.%d.%d.\n", $libaal_config_major_version, 
  75.         $libaal_config_minor_version, $libaal_config_micro_version);
  76.  
  77.     printf("You can get it at http://www.namesys.com/snapshots\n");
  78.     return 1;
  79.     }
  80. }
  81. ], 
  82.     AC_MSG_RESULT(yes),
  83.     AC_MSG_RESULT(no) ; $3,
  84.     [echo $ac_n "cross compiling; assumed OK... $ac_c"])
  85.  
  86. dnl restore orignial LIBS and set @AAL_LIBS@
  87. AAL_LIBS="$LIBS"
  88. LIBS="$saved_LIBS"
  89. AC_SUBST(AAL_LIBS)
  90.  
  91. dnl Execute ACTION-IF-FOUND
  92. $2
  93.  
  94. ])
  95.  
  96.